package com.nix.web.databases.mapper.word.emtion;

import com.nix.web.databases.CurdFactory;
import com.nix.web.databases.pojo.word.emtion.Emtion;
import com.nix.web.databases.pojo.word.emtion.NounEmtion;
import org.apache.ibatis.annotations.Param;

/**
 * Title: Emotional-Analysis
 * Date: Create in 2018/2/10 14:08
 * Description:
 *
 * @author Jundger
 * @version 1.0
 */
public interface NounEmtionMapper extends CurdFactory<NounEmtion> {

    /**
     * 根据基础情绪id查询名词情绪表中对应的情绪id
     * 所操作的数据库表：word_noun_emtion
     * @param id 基础情绪id - emtion_id
     * @return 名词情绪表中对应的情绪id
     * @throws Exception 数据库操作异常
     */
    Integer getEmotionId (@Param("id") Integer id) throws Exception;

    /**
     * 添加基础情绪
     * 所操作的数据库表：word_emtion
     * @param emtion 基础情绪javabean
     * @return 数据库操作影响行数
     * @throws Exception 数据库操作异常
     */
    int addEmotion(Emtion emtion) throws Exception;

    /**
     * 添加名词扩展情绪
     * 所操作的数据库表：word_noun_emtion
     * @param nounEmtion 名词扩展情绪javabean
     * @return 数据库操作影响行数
     * @throws Exception 数据库操作异常
     */
    int addNounEmotion(NounEmtion nounEmtion) throws Exception;

    /**
     * 保存标注结果
     * 所操作的数据库表：word_noun_noun_emtion
     * @param word 表中word_id字段，单词id
     * @param emotion 表中noun_emtion_id字段，情绪id
     * @param user 表中user_id字段，用户id
     * @return 数据库操作影响行数
     * @throws Exception 数据库操作异常
     */
    int saveMarkResult(@Param("word_id") Integer word, @Param("emotion_id") Integer emotion, @Param("user_id") Integer user) throws Exception;
}
